package br.com.sge.controle;

import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

import br.com.sge.entidades.Aluno;
import br.com.sge.servicos.AlunoServico;
import br.com.sge.servicosimp.AlunoServicoImp;

/**
 *
@author Gustavo Rodrigues Torre
 */
@ManagedBean
@SessionScoped
public class AlunoManagedBeans {

    private Aluno aluno;
    private DataModel listaAlunos;

    public DataModel getListarAlunos() {
        List<Aluno> lista = new AlunoServicoImp().list();
        listaAlunos = new ListDataModel(lista);
        return listaAlunos;
    }

    public Aluno getAluno() {
        return aluno;
    }

    public void setAluno(Aluno aluno) {
        this.aluno = aluno;
    }

    public void prepararAdicionarAluno(ActionEvent actionEvent){
        aluno = new Aluno();
    }

    public void prepararAlterarAluno(ActionEvent actionEvent){
        aluno = (Aluno)(listaAlunos.getRowData());
    }

    public String excluirAluno(){

        Aluno alunoTemp = (Aluno)(listaAlunos.getRowData());
        AlunoServico dao = new AlunoServicoImp();
        dao.remove(alunoTemp);
        return "alunos";

    }

    public void adicionarAluno(ActionEvent actionEvent){

        AlunoServico dao = new AlunoServicoImp();
        dao.save(aluno);
        
    }

    public void alterarAluno(ActionEvent actionEvent){

        AlunoServico dao = new AlunoServicoImp();
        dao.update(aluno);

    }

}
